"""
!/usr/bin/env python
-*- coding: utf-8 -*-
@Author  : MarkJia
@Site    : 
@File    : 11、Xpath 相对定位.py
"""

"""
基本概念
xpath 是一门在 xml 文档中查找信息的语言
xpath 使用路径表达式在 xml 文档中进行导航
xpath 可以用在 UI 自动化测试
"""

# web自动化测试
# app自动化测试（既可以对app源生控件定位，也可以对非源生控件定位）

"""
可维护性更强
语法更加简洁
相对于 css 可以支持更多的方式

xpath 的调式方法 ： $x('xpath表达式')   ->  $x('//*[@id="site-logo"]')

xpath 基本语法：
/    从当该节点的子元素选取
//   从该节点的子孙元素选取
*    通配符
nodename   选取此节点的所有子节点  - 标签名   //input[@id='kw']
..   选取当前节点的父节点       //input[@id='kw']/..
@    选取属性  [@id='kw']  


xpath顺序关系： 索引 ->  从1开始计数
索引 ：  同一个父元素下的第几个孩子   ->     "//tbody/tr[1]"


xpath高级用法
选取最后一个  ->   [last()]   ->   //input[last()]
与关系   ->   //input[@name='passwd' and @pwd='123456']
或关系   ->   //input[@name='passwd' or @pwd='123456']

根据文本信息进行定位  text()不是属性，是方法。没有@   ->   //*[text()='测试开发']

文本信息包含定位 : 第一个参数传入匹配方式：文本或者属性，第二个参数传入模糊匹配的内容  
    1. 模糊匹配  ->   //*[contains(text(),'测试开发')]
    2. 模糊匹配属性值  ->  $x("//*[contains(@id,'site')]")
"""
